package com.product.system.domain.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 物流信息实体类
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ArgpLogistics {
    /**
     * 物流编号，自增主键
     */
    private Integer logisticsId;
    /**
     * 关联的订单编号
     */
    private Integer orderId;
    /**
     * 发货人姓名
     */
    private String senderName;
    /**
     * 司机表外键
     */
    private Integer driverId;
    /**
     * 发货人电话
     */
    private String senderPhone;
    /**
     * 发货人地址
     */
    private String senderAddress;
    /**
     * 收货人姓名
     */
    private String receiverName;
    /**
     * 收货人电话
     */
    private String receiverPhone;
    /**
     * 收货人地址
     */
    private String receiverAddress;
    /**
     * 运输方式
     */
    private String shippingMethod;
    /**
     * 物流状态
     */
    private String shippingStatus;
    /**
     * 快递单号
     */
    private String trackingNumber;
    /**
     * 预计送达日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date estimatedDeliveryDate;
    /**
     * 实际送达日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date actualDeliveryDate;
    /**
     * 运费
     */
    private BigDecimal shippingCost;
    /**
     * 送货备注
     */
    private String deliveryRemark;
    /**
     * 记录创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date createTime;
    /**
     * 记录更新时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date updateTime;
    /**
     * 物流供应商
     */
    private String logisticsProvider;
    /**
     * 货物名
     */
    private String argpName;
    /**
     * 规格
     */
    private String specifications;
    /**
     * 重量
     */
    private double weight;
    /**
     * 货物数量
     */
    private Integer goodsNum;

    private String driverName;
}